package com.goldgov.noticetemplate.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.goldgov.noticetemplate.service.NoticeTemplate;
import com.goldgov.noticetemplate.service.NoticeTemplateQuery;
@Mapper
public interface NoticeTemplateDao {

	/**
	 * 添加模板
	 * @date 2018年9月1日 下午6:06:08 
	 * @author hanxiangyu
	 * @param template
	 * @return
	 */
	int addTemplate(NoticeTemplate template);
	/**
	 * 删除模板
	 * @date 2018年9月1日 下午6:06:19 
	 * @author hanxiangyu
	 * @param ids
	 * @return
	 */
	int deleteTemplate(@Param("ids")String[] ids);
	/**
	 * 修改模板
	 * @date 2018年9月1日 下午6:06:26 
	 * @author hanxiangyu
	 * @param template
	 * @return
	 */
	int updateTemplate(NoticeTemplate template);
	/**
	 * 模板列表
	 * @date 2018年9月1日 下午6:06:32 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<NoticeTemplate> findTemplateList(@Param("query") NoticeTemplateQuery query);
	/**
	 * 通过id查询
	 * @date 2018年9月1日 下午6:07:56 
	 * @author hanxiangyu
	 * @param templateID
	 * @return
	 */
	NoticeTemplate findNoticeTemplateById(@Param("templateID")String templateID);
	/**
	 * 把同类型的通知更新为未使用
	 * @date 2018年9月1日 下午7:02:17 
	 * @author hanxiangyu
	 * @param template
	 * @return
	 */
	int updateTemplateNoState(NoticeTemplate template);
	/**
	 * 启用停用
	 * @date 2018年9月3日 下午3:51:22 
	 * @author hanxiangyu
	 * @param ids
	 * @param state
	 * @return
	 */
	int enableOrDisable(@Param("ids")String[] ids,@Param("state")Integer state);
	
	/**
	 * 可用模板列表
	 * @date 2018年9月1日 下午6:06:32 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<NoticeTemplate> findUseableTemplate(@Param("templateType")String templateType);
}
